home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
New Star Software Collection
/
NSS_Collection.iso
/
3-170 dbase 10 for windows
/
1.ima
/
DOC.PAK
/
XBUILDER.TXT
< prev
Wrap
Text File
|
1993-07-26
|
14KB
|
379 lines
Copyright (c) 1991-1993 Borland International, Inc. All Rights Reserved.
THE EXPRESSION BUILDER
----------------------
Use the Expression Builder to build valid dBASE expressions and
insert them into the text editor, the Command window, and certain
dialog box fields.
Contents
--------
I. What the Expression Builder does
II. How to display the Expression Builder
III. The GETEXPR() function
IV. About the Expression window and the Safety Net mode
V. Building expressions using the Category, Type, and Paste list boxes
VI. How to paste an element into the Expression window
VII. Specifying a result type
VIII. About the Safety Net
IX. Editing constants
X. Using Undo and Group
XI. Keyboard Quick Reference
XII. Using the DBASEWIN.FNF table to modify the list of functions
What the Expression Builder does
--------------------------------
The Expression Builder only builds expressions. It does not assign
anything.
When you build an expression in the Expression Builder and then
click the OK button, the expression is inserted into the environment
from which you called the Expression Builder.
How to display the Expression Builder
-------------------------------------
There are four ways to display the Expression Builder:
- Use the GETEXPR() function in the Command window or in a program.
- Press the Expression Builder button (currently, the rightmost button)
on the SpeedBar.
- Select Build Expression from the Edit menu.
- Press Ctrl+E.
If any text is selected in the Command window or in the text
editor when you call the Expression builder, that text will appear
in the Expression window as the default expression to be edited.
You can also use the Expression Builder when you are in FOR()
or WHILE() fields in certain dialog boxes.
The GETEXPR() function
----------------------
The syntax of GETEXPR() is as follows:
GETEXPR( [ <expC1> [ , <expC2> [ , <expC3> ] ] ] )
where:
<expC1> is a string that will appear in the Expression window as the
default expression to be edited.
<expC2> is a string that appears as the title on the Expression
Builder title bar
<expC3> is the desired result type. This result type appears in the
Result Type list box in the Expression Builder. <expC3> can be
"C", "N", "L", "D", or "X". The "X" means 'Any' result type. The
default is "X".
Examples:
GETEXPR()
X = GETEXPR()
X = GETEXPR("","Create a Filter Expression","L")
X = GETEXPR(X)
About the Expression window and the Safety Net mode
---------------------------------------------------
You build expressions in the Expression Builder's Expression window.
There are two modes available:
- With the Safety Net on, you select valid elements from a list
and paste them into the Expression window.
- With the Safety Net off, you can select and paste elements, as
above, but you can also type expressions directly into the
Expression window.
In either case, the Expression Builder does not let you insert the
expression into the calling environment unless the expression is
valid.
To toggle the Safety Net on and off, check and uncheck the Safety
Net check box at the top of the Expression Builder.
Building expressions using the Category, Type, and Paste list boxes
-------------------------------------------------------------------
Use the three list boxes in the lower half of the Expression Builder
to display valid items that can be used to build an expression.
The items in the leftmost box are the most general, and those in the
rightmost list box are the most specific.
Move from left to right, selecting which items to show, and then
choose an item from the rightmost list box (the Paste list box) to
paste into the Expression window.
The three list boxes are explained below:
- The Category list box lists the main categories of items you can
use to create an expression. These categories are "Constant,"
"Field," "Function," "Operator," and "Variable."
- The Type/Table list box shows subcategories of whatever category
is selected in the Category list box. (When you choose "Field" from
the Category list box, the Type/Table list box displays a list of
all open tables.)
- The Paste list box shows all the elements that are named by the
subcategory selected in the Type/Table list box.
Some possible combinations are as follows:
If you select this And then select this These items appear
item from the item from the Type/ in the Paste list
Category list box... Table list box... box...
-------------------- ---------------------- ---------------------
"Function" "Data type conversion" All the dBASE
functions that can be
used for converting
data types
"Field" a table name All the fields in the
selected table
"Variable" "User" All the user-defined
variables currently
in memory
How to paste an element into the Expression window
--------------------------------------------------
To paste an element from the Paste list box into the Expression window,
do one of the following:
- Using the mouse,
- Double-click the desired item in the Paste list box, or
- Drag the desired item from the Paste list box to the Expression
window
- Using the keyboard
1. Select an item from the Paste list box (either by clicking once
with the mouse or by navigating to the item with the keyboard),
then
2. Press the Space bar
The item is pasted into the Expression window at the cursor position
in the window.
When the Safety Net is off, you can use standard Windows key combinations
to cut, copy, and paste text in the Expression window. For example,
Ctrl+X cuts text, Ctrl+C copies text to the clipboard, and Ctrl+V
inserts text from the clipboard.
Specifying a result type
------------------------
By default, the Expression Builder accepts any data type for the result
of an expression. However, you can specify what data type the expression
must evaluate to, in order to be considered valid.
Choose a data type from the Result Type list. The options are "Any,"
"Character," "Date," "Logical," and "Numeric." If you choose any of
these choices other than "Any," the expression must evaluate to the
selected data type in order to be valid. If the result is the wrong
data type, the message "Wrong result type..." is displayed in the
information box (located below the three list boxes), and the OK button
is dimmed.
About the Safety Net
--------------------
When the Safety Net is on (i.e., when the Safety Net check box is
checked):
- You must select items from the Paste list box and paste them into the
Expression window. That is the only way to insert items into the
expression. You cannot type elements directly into the Expression
window when the Safety Net is on, except for constants--see below under
"Editing Constants."
- Bladerunner tries to validate the expression every time you insert a new
item. If the expression is valid, the result of the expression is shown
in the information box directly below the Expression window. If the
expression is invalid, a message explaining the problem is displayed,
and the OK button is dimmed. This always happens when you insert a token
that must be replaced with a valid operator or operand.
- Colored placeholder elements, or "tokens," are inserted to show elements
missing from your expression. A white "Op" means you must insert an
operator. A yellow text string means you must insert an operand. The
text string tells you what kind of operand is required.
- The cursor in the Expression window is between elements, never within
an element.
When the Safety Net is off:
- You can type directly into the Expression window.
- The Expression Builder does not try to validate your expression until
you choose the OK button. If the expression is invalid, the OK button is
dimmed so you cannot insert the invalid expression into the calling
environment.
- The result of the expression that you are building is not shown in the
information box. If you are working with the Safety Net off and you want
to see the result of the expression without leaving the Expression
Builder, turn the Safety Net on. The expression will be evaluated and the
result shown in the information box.
You can only turn Safety Net on or off if the expression is valid. The
information box below the expression tells you the state of your expression.
Editing constants
-----------------
When the Safety Net is on, you can type constants directly into the
Expression window. This is the only time you can type directly into the
Expression window when you are in Safety Net mode.
To type a constant into the Expression window when the Safety Net is on,
you first must insert a constant. Follow these directions:
1. Select "Constant" from the Category list box.
2. Select a type of constant from the Type/Table list box.
3. Choose a constant from the Paste list box by double-clicking it,
dragging it into the Expression window, or by selecting (highlighting)
it and then pressing the space bar.
4. Then either
- Put the cursor next to the constant in the Expression window and
start typing, or
- Right-click the mouse near the constant in the Expression window.
In either case, a text box appears where you can type (or finish
typing) the constant.
5. Press the Tab key or the Enter key to finish.
You cannot insert illegal characters for the constants, e.g., you can't
insert a character for a numeric constant.
Using Undo and Group
--------------------
Click the Undo button (in the upper-right corner) to undo the last
operation. To group items in the Expression window, i.e., to put
parentheses around them, highlight the items and click the Group
button (in the upper-right corner).
Keyboard Quick Reference
------------------------
These keystrokes work the same whether the Safety Net is on or off,
with the exception of the Left and Right arrows, as noted below:
Home Move cursor to end of line
End Move cursor to beginning of line
PgUp Move cursor up multiple lines
PgDown Move cursor down multiple lines
Up Arrow Move cursor up one line
Down Arrow Move cursor down one line
Left Arrow Move cursor left one expression element:
one character when Safety Net is off, or one token
when Safety Net is on
Right Arrow Move cursor right one expression element:
one character when Safety Net is off, or one token
when Safety Net is on
Ctrl + Home Move cursor to beginning of expression
Ctrl + End Move cursor to end of expression
The Shift key causes any of the above keystrokes to extend the
current selection.
Using the DBASEWIN.FNF table to modify the list of functions
------------------------------------------------------------
Information about the functions that are displayed in the Paste
list box and that can be pasted into the Expression window is
stored in a table called DBASEWIN.FNF.
You can add records to this table to add your own
user-defined functions (UDFs) to the Expression Builder.
DBASEWIN.FNF contains the following required fields.
Field
Name Description
----- ------------------------------------------
NAME Name of the function, e.g., TAGCOUNT.
NAME_EXT One or more dots (periods) to indicate that there is one
or more possible versions of this function, depending
on which arguments are used. For example, TAGCOUNT appears
in the NAME field in two records. The first record has
one dot in the NAME_EXT field, and the second record has
two dots in the NAME_EXT field. When the first version is
chosen in the Paste list box, the following form of the
function is pasted:
TAGCOUNT(.mdx filename)
When the second version is chosen, the following form of
the function is pasted:
TAGCOUNT(.mdx filename, database alias)
The arguments are taken from the ARGUMENTS field (see
below).
ARGUMENTS Comma-delimited list of arguments for the function named in
the NAME field. (See also the explanation for the
NAME_EXT field.)
CATEGORIES Comma-delimited list of language element types that are
displayed in the Type list box.
PURPOSE The purpose of the function.
USERHELP (To be added later.)
The field names listed above cannot be changed. Other fields can be
added, but they are ignored by the Expression Builder. All fields
are character data type. The size of the fields can be changed.
When you highlight a function in the Paste list box of the Expression
Builder, information from the DBASEWIN.FNF table is displayed in the
information box, as explained below:
First line: This text is constructed from 1) the name in the
NAME field, 2) open parenthesis, 3) the arguments from the
ARGUMENTS field, 4) close parenthesis.
Second line: the text from the PURPOSE field.